StoredProc a navrat hodnot

Otázka od: Jiri Fait

2. 8. 2004 12:47

Nemuzu prijit na zpusob jak komponentou TIBStoredProc dostat vystupni data z
ulozene procedury.

... Kus kodu:
  if skldata.spUpdPopisy.Prepared then
    skldata.spUpdPopisy.Unprepare;
  skldata.spUpdPopisy.Prepare;

  skldata.spUpdPopisy.ParamByName('vstup_kod').AsString :=
        skldata.dtProvedeniKOD.AsString;
  skldata.spUpdPopisy.ExecProc;

Procedure probehne ale vystupni parametry (i pole) zustavaji prazdne.

Co je blbe?

Jirka

Delphi 7
Firebird 1.5
IBO (zkousel jsem to i s IBExpres)



Odpovedá: Milan Tomes

2. 8. 2004 14:32

A proc nevybiras data ze Stored procedury pomoci normalniho TIBDataSet +
Select xxx from SP_xxx ???
Je to bez jedineho problemu...

S pozdravem

Milan Tomes


> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Jiri Fait
> Sent: Monday, August 02, 2004 1:21 PM
>
> Nemuzu prijit na zpusob jak komponentou TIBStoredProc dostat
> vystupni data z
> ulozene procedury.


Odpovedá: Jaroslav Uher

2. 8. 2004 15:27

Ahoj,

to reseni existuje, na konci puvodni zpravy je cela moje procedura

Jarek Uher

Milan Tomes wrote:
> A proc nevybiras data ze Stored procedury pomoci normalniho TIBDataSet +
> Select xxx from SP_xxx ???
> Je to bez jedineho problemu...
>
> S pozdravem
>
> Milan Tomes
>
>
>> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Jiri Fait
>> Sent: Monday, August 02, 2004 1:21 PM
>>
>> Nemuzu prijit na zpusob jak komponentou TIBStoredProc dostat
>> vystupni data z
>> ulozene procedury.


procedure TFormMain.SP_PRIPADY_TO_ARCHIV;
var Pocet : integer;
begin
(*
CREATE PROCEDURE PRIPADY_TO_ARCHIV (
   U_NP SMALLINT,
   U_DT_VZNIKU DATE,
   U_DEL SMALLINT,
   U_NEWDEL SMALLINT,
   U_LAST_USER CHAR(4))
RETURNS (POCET INTEGER)
*)
    Pocet := 0;
    with DataModul, FormPripadyToArchiv do
    try
      IBTransaction1.Active := false;
      try
        Screen.Cursor := crHourGlass;
        IBStoredProc.Transaction := IBTransaction1;
        IBTransaction1.StartTransaction;

        IBStoredProc.StoredProcName := 'PRIPADY_TO_ARCHIV';
        IBStoredProc.Params.Clear;
  (* poradi musi odpovidat volane Stored Procedure ! *)
        with IBStoredProc.Params.CreateParam(ftSmallInt, 'NP',ptInput) do
         AsSmallInt := RadioGroupNP.ItemIndex +1;

        with IBStoredProc.Params.CreateParam(ftDate, 'DT_VZNIKU',ptInput) do
         AsDate := DTPickerVyradit.Date;

        with IBStoredProc.Params.CreateParam(ftSmallInt, 'DEL',ptInput) do
         AsSmallInt := ciActiveKod;

        with IBStoredProc.Params.CreateParam(ftSmallInt,
'U_NEWDEL',ptInput) do
         AsSmallInt := ciArchiveKod;

        with IBStoredProc.Params.CreateParam(ftString,
'LAST_USER',ptInput) do
         AsString := DataModul.Get_MaklerKodFromName(gsMakler);

        IBStoredProc.Params.CreateParam(ftInteger,
'POCET',ptOutput).AsInteger :=0;
        IBStoredProc.Prepare;
        IBStoredProc.ExecProc;

        IBTransaction1.CommitRetaining;

// vrati pocet presunu do archivu
        Pocet := IBStoredProc.Params.ParamValues['POCET'];

        Screen.Cursor:=crDefault;
        MessageDlg(Format(rsM_NumberPripaduMoved, [Pocet]), mtInformation,
[mbYes],0)
      except
        on E: Exception do
        begin
          IBTransaction1.RollbackRetaining;
          MessageDlg(rsE_Update+#13+E.Message, mtWarning, [mbOk], 0);
        end;
      end;
    finally
      IBTransaction1.Active := false;
    end;
end;



Odpovedá: Libor Junek, Medisoft International

2. 8. 2004 15:27

Mozna blbost ale nezapomel jsi nahodou SUSPENDovat hodnoty z SP?
Libor

----- Original Message -----
From: "Jiri Fait" <develop@lmss.cz>
Sent: Monday, August 02, 2004 1:21 PM


> Nemuzu prijit na zpusob jak komponentou TIBStoredProc dostat vystupni data
z
> ulozene procedury.


Odpovedá: Jiri Fait

2. 8. 2004 15:56

> Mozna blbost ale nezapomel jsi nahodou SUSPENDovat hodnoty z SP? Libor

Nezapomnel......v IBExpertu ji normalne provedu a vrati data. Ten SELECT
from sproc funguje.
Ynamena to ye primarne jsou komponentz TXXStoredProc urceny pouze pro
vykonani procedur ktere nic nevraci?
Je to tak?

Dik Jirka